#pragma once

#ifndef _INC_output_
#define _INC_output_

#define NUM_DECIMAL_DIGITS_TO_DISPLAY 4
#define NL "\r\n"

class Output
{
private:
	BOOL enabled ;
	BOOL tempEnabled;
public:

	void PushState();

	void PopState();

	void Enable();

	void Disable();

	void print(char * strn);

	void println();

	void println(char * strn);

	void printch(char ch);
	void printlnch(char ch);

	void print(int num);
	void println(int num);

	void print_f(float num);
	void println_f(float num);

	void begin(int BAUD);

	BOOL available();

};

#ifdef __Outputcpp__
Output output;
#else
extern Output output;
#endif __Outputcpp__


#endif _INC_output_